fix: complete FireRedASR2 (小红书) model download verification - #116
Merged
Merged
Conversation
The FireRedASR2-AED (小红书) required-file list referenced tokenizer.json, which does not exist upstream, so a completed download was always reported incomplete. Match the manifest and the mlx-audio-swift loader instead and add a regression test.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Outcome
Downloading the 小红书 FireRedASR2-AED local ASR model (
mlx-community/FireRedASR2-AED-mlx) now completes: after a successful transfer Utter marks it.downloadedinstead ofmodel.asr_incomplete("模型只下载了一部分…"), so the model becomes selectable and ready.Root cause
ModelCatalog.asrRequiredFiles(for:)requiredtokenizer.jsonfor FireRedASR2-AED, but that file does not exist in the upstream repository (manifest:config.json,cmvn.json,dict.txt,model.safetensors,train_bpe1000.model). The path-based completeness check could therefore never pass, even though the download itself succeeded.SDLC bundle and risk
docs/sdlc/changes/2026-09-30-firered-asr-download-completeness/Verification
bash scripts/sdlc-checks.shbash scripts/ci-basic-checks.shswift test— 794 tests, 18 skipped, 0 failuresEvidence:
docs/sdlc/changes/2026-09-30-firered-asr-download-completeness/verification.md.Residual risk and rollback
Mega-ASR-6bitstill requires only["config.json", "tokenizer_config.json"](both exist upstream, so its download completes); tightening it is out of scope and tracked as residual risk. Rollback is a one-line revert of the required-file list.Reviewer focus
Confirm the four required files match the upstream manifest and what the pinned
mlx-audio-swift0.1.3FireRedASR2Model.fromDirectoryactually reads.